package com.qingcloud.api.dcengine.service;

import com.qingcloud.api.dcengine.dto.TablePageDTO;
import com.qingcloud.api.dcengine.dto.discharge.CommonDischargeDensity;
import com.qingcloud.api.dcengine.model.discharge.DischargeDensityListParam;
import com.qingcloud.api.dcengine.model.discharge.DischargeDensityPageParam;
import com.qingcloud.api.dcengine.service.fallback.DischargeDensityApiFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 排污口浓度数据接口
 *
 * @author wangjinnan
 */
@FeignClient(name = "discharge-density-api", url = "${data-url}",
        fallback = DischargeDensityApiFallback.class)
public interface DischargeDensityApi {

    /**
     * 排放口气因子小时数据通用列表接口
     */
    @PostMapping("/discharge/gas/hour/list")
    List<CommonDischargeDensity> gasHourList(@RequestBody DischargeDensityListParam listParam);

    /**
     * 排放口气因子小时数据通用分页查询接口
     */
    @PostMapping("/discharge/gas/hour/page")
    TablePageDTO<CommonDischargeDensity> gasHourPage(@RequestBody DischargeDensityPageParam pageParam);

    /**
     * 排放口气因子天数据通用列表接口
     */
    @PostMapping("/discharge/gas/day/list")
    List<CommonDischargeDensity> gasDayList(@RequestBody DischargeDensityListParam listParam);

    /**
     * 天排放口气因子数据通用分页查询接口
     */
    @PostMapping("/discharge/gas/day/page")
    TablePageDTO<CommonDischargeDensity> gasDayPage(@RequestBody DischargeDensityPageParam pageParam);

    /**
     * 排放口水因子小时数据通用列表接口
     */
    @PostMapping("/discharge/water/hour/list")
    List<CommonDischargeDensity> waterHourList(@RequestBody DischargeDensityListParam listParam);

    /**
     * 排放口气因子小时数据通用分页查询接口
     */
    @PostMapping("/discharge/water/hour/page")
    TablePageDTO<CommonDischargeDensity> waterHourPage(@RequestBody DischargeDensityPageParam pageParam);

    /**
     * 排放口气因子天数据通用列表接口
     */
    @PostMapping("/discharge/water/day/list")
    List<CommonDischargeDensity> waterDayList(@RequestBody DischargeDensityListParam listParam);

    /**
     * 天排放口气因子数据通用分页查询接口
     */
    @PostMapping("/discharge/water/day/page")
    TablePageDTO<CommonDischargeDensity> waterDayPage(@RequestBody DischargeDensityPageParam pageParam);

}
